package com.ruoyi.mes.systembasic.service;

import java.util.List;

import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SmesProductCategory;

/**
 * 产品类别Service接口
 * 
 * @author yanqin
 * @date 2020-11-26
 */
public interface ISmesProductCategoryService 
{
    /**
     * 查询产品类别
     * 
     * @param productCategoryId 产品类别ID
     * @return 产品类别
     */
    public SmesProductCategory selectSmesProductCategoryById(Long productCategoryId);

    /**
     * 查询产品类别列表
     * 
     * @param smesProductCategory 产品类别
     * @return 产品类别集合
     */
    public List<SmesProductCategory> selectSmesProductCategoryList(SmesProductCategory smesProductCategory);

    /**
     * 新增产品类别
     * 
     * @param smesProductCategory 产品类别
     * @return 结果
     */
    public int insertSmesProductCategory(SmesProductCategory smesProductCategory);

    /**
     * 修改产品类别
     * 
     * @param smesProductCategory 产品类别
     * @return 结果
     */
    public int updateSmesProductCategory(SmesProductCategory smesProductCategory);

    /**
     * 批量删除产品类别
     * 
     * @param productCategoryIds 需要删除的产品类别ID
     * @return 结果
     */
    public int deleteSmesProductCategoryByIds(Long[] productCategoryIds);

    /**
     * 删除产品类别信息
     * 
     * @param productCategoryId 产品类别ID
     * @return 结果
     */
    public int deleteSmesProductCategoryById(Long productCategoryId);

    List<TreeSelect> buildProductCategoryTreeSelect(List<SmesProductCategory> list);
    List<SmesProductCategory> buildCategoryTree(List<SmesProductCategory> categories);
}
